var express = require('express');
var router = express.Router();
var superagent = require('superagent');
var logger = require('../log4j').logger;
var logger_error = require('../log4j').logger_error;
var redis = require('redis');
var config = require('../config.js');
var client  = redis.createClient(config.redis.port,config.redis.ip);
// var client  = redis.createClient('6379','127.0.0.1');
client.auth(config.redis.pwd);
client.select(config.redis.db);
// client.select('0');

/* GET home page. */
router.get('/index', function(req, res, next) {
  if (req.query.DEVICE== 'ios' || req.query.DEVICE == 'android') {
    var isApp = true;
  }else{
    var isApp = false;
  }
  var thisUrl = req.url;
  var name = req.query.name;
  var shareUrl = encodeURIComponent((global.browserURL +'/xmas'+thisUrl).split('#')[0]);
  console.log(shareUrl);
  console.log((global.browserURL +'/xmas'+thisUrl).split('#')[0]);
  superagent
  .get(global.wechatURL + '/wechat_api/jsconfig?url=' + shareUrl)
  .end(function(err2, res2) {
    if (res2 !== undefined && res2.ok) {
      res2.body.browserUrl = global.browserURL;
      res2.body.name = name;
      res2.body.isApp = isApp;
      res.render('xmas/index',res2.body);
    } else {
      logger_error.error('xmas.js.......微信分享api错误。'+JSON.stringify(err2));
      console.error('微信分享api错误。');
    }
  });
});

router.get('/addData', function(req, res, next) {
  var wish = ['我想预定2017年带我麻麻去泰国~~~看在我这么为爸妈着想的份上帮我点赞吧！','想带我的女朋友去阿拉斯加看极光，在一起这么多年了都没满足她的愿望，请乐可满足下我的愿望吧~~','特地来帮爸妈预存一场2017年的旅行，他们的愿望不大只想去韩国玩一圈哈哈~','我觉得这个活动好酷哦，我没啥愿望就祝大家实现自己的愿望吧！','我想和闺蜜去美国啦啦啦，这个愿望好大能实现么！','17年就毕业啦，不知道能不能趁毕业的时候预定到这次旅行呢~~~','想预定成功给女朋友一个surprise~~要去日本！她念叨很久了~','好可惜奥只能预定人类，我好想跟我家喵星人去旅行哈哈哈！','全世界都可以去吗？我能预定一场环球旅行吗！','我想预定一场新西兰之旅和我的男票~~我要去看袋鼠哦啦啦~','可以去猎奇的地方么？比如英国古堡啥的！','好想知道12个旅行目的地分别是啥哦！！都想去一遍！','能去北极吗？或者南极！！哪个都行我都要去！看我双手！','我想飞越地平线！！！','可以满足我走完所有迪士尼的愿望吗！','想四月去看日本的绯樱。','好酷！希望幸运女神眷顾我能让我去东南亚走一波~','要是没抢到还有机会吗？还会在上吗？','愿望清单：去跳伞','我想去苏梅岛！！！！','想和老公去做土耳其的热气球。','到时候看看有多少人的愿望实现了。','难道只有我想去朝鲜看看鑫胖吗？？','色彩之旅，行览四季。美丽的北欧，欲罢不能。就让我走吧！','想去：挪威，有一个世外桃源般的岛屿——Lofoten群岛。','终结此贴！我就爱中国！！哈哈哈','一个小小的愿望带我孩子去一次亲子游哪里都好~~~']
  console.log(wish);
  for(var i =0;i<27;i++){
    client.incr('xmasid');
    client.get('xmasid',function (err,uid) {
      var num = uid-1;
      client.hmset('xmasWish',uid,JSON.stringify({
        wish:wish[num],
        praise:0,
        id:uid
      }))
    })
  }
  res.render('xmas/addData');
});

router.get('/wish', function(req, res, next) {
  var thisUrl = req.url;
  var shareUrl = encodeURIComponent((global.browserURL +'/xmas'+thisUrl).split('#')[0]);
  superagent
  .get(global.wechatURL + '/wechat_api/jsconfig?url=' + shareUrl)
  .end(function(err2, res2) {
    if(res2 !== undefined && res2.ok) {
      res2.body.browserUrl = global.browserURL;
      client.hlen('xmasWish',function (err,len) {
        if(len != 0){
          client.hmget('xmasWish',len,len-1,len-2,function (err,wish) {
            var info = [];
            for(var i = 0;i<wish.length;i++){
              info.push(JSON.parse(wish[i]));
            }
            res2.body.info = info;
            res.render('xmas/wish',res2.body);
          })
        }else{
          res.render('xmas/wish',res2.body);
        }
      })
    }else {
      console.error('微信分享api错误。');
      logger_error.error('xmas.js.......微信分享api错误。'+JSON.stringify(err2));
    }
  });
});

router.post('/userinfo',function(req, res, next){
  var date = req.body;
  var info = JSON.stringify(date);
  client.lpush('xmasUser',info,function (err,message) {
    if (err) {
      console.log(err);
    }else{
      res.send({data:'成功啦'});
    };
  })
})

router.post('/wish',function(req, res, next){
  var wish = req.body.wish;
  client.incr('xmasid');
  client.get('xmasid',function (err,uid) {
    console.log(uid);
    client.hmset('xmasWish',uid,JSON.stringify({
      wish:wish,
      praise:0,
      id:uid
    }),function (err,info) {
      console.log(JSON.stringify(info));
      res.send({data:'愿望',id:uid});
    })
  })
})

router.post('/praise',function(req, res, next){
  var count = req.body.count;
  var id = req.body.id;
  var wish = req.body.wish;
  client.hmset('xmasWish',id,JSON.stringify({
    wish:wish,
    praise:count,
    id:id
  }),function (err,info) {
    res.send({data:'点赞'});
  })
})

router.post('/more',function(req, res, next){
  var id = req.body.id;
  var info = [];
  if(id-10>=1){
    client.hmget('xmasWish',id-1,id-2,id-3,id-4,id-5,id-6,id-7,id-8,id-9,id-10,function (err,wish) {
      var info = [];
      for(var i = 0;i<wish.length;i++){
        info.push(JSON.parse(wish[i]));
      }
      res.send({data:'更多愿望',wish:info});
    })
  }else{
    var num = id-1;
    for(var i = id-1;i>0;i--){
      client.hget('xmasWish',i,function (err,wish) {
        info.push(JSON.parse(wish));
        if(info.length == num){
          res.send({data:'更多愿望',wish:info});
        }
      })
    }
  }
})

router.get('/info', function(req, res, next) {
  client.LRANGE('xmasUser',0,-1,function (err,wish) {
    if(err){
      logger_error.error('xmas/info......'+JSON.stringify(err));
    }
    var info = [];
    for(var i =0;i<wish.length;i++){
      info.push(JSON.parse(wish[i]));
    }
    res.render('xmas/info',{userinfo:info});
  })
});

router.get('/wishes', function(req, res, next) {
  client.hgetall('xmasWish',function (err,wish) {
    var info = [];
    for(var i in wish){
      info.push(JSON.parse(wish[i]));
    }
    res.render('xmas/wishes',{wishes:info});
  })
});

router.get('/pass', function(req, res, next) {
  res.render('xmas/pass');
});

module.exports = router;
